//学习C语言的文件操作知识

#include <stdio.h>
#define LOG "log.txt"
int main()
{
  //w:默认的方式打开文件，如果文件不存在，就创建它
  //如果只是以“w”的方式打开文件，不进行任何操作，文件里面的内容会被清空
 // FILE *fp = fopen(LOG,"w");
 
  //r:读取文件的数据，文件必须存在
 FILE *fp = fopen(LOG,"r");
  if(fp == NULL)
  {
    perror("fopen");
  }
  //正常进行文件操作
   const char* msg = "hello,bite!\n";
  
  //读取文件
// char r_msg[50];
 int cnt = 5;
// int count;
 while(cnt)
 {
   //写文件操作
   //fputs函数的使用
   // fputs(msg,fp);
   // fprintf函数的使用
  // fprintf(fp,"cnt:%d->msg:%s",cnt,msg);
  
   //读文件操作
   //fscanf(fp,"cnt:%d->msg:%s",&count,r_msg);
  // fscanf(fp,"%d %s",&count,r_msg);  //-->这样无法读取格式化数据，要根据fprintf函数的写入格式进行读取
   //输出读取文件的数据
  // printf("count:%d->r_msg:%s\n",count,r_msg);
  
   //输出到显示屏上
   //fprintf(stdout,"cnt:%d->msg:%s",cnt,msg);
   
  // snprintf函数的使用
  // char buffer[256];
  // snprintf(buffer,sizeof(buffer),"buffer==cnt:%d->msg:%s",cnt,msg);
  // printf("%s",buffer);
  // fputs(buffer,fp);
  
   //fgets函数的使用
   char line[256];
   if(fgets(line,sizeof(line),fp) == NULL) 
   {
     perror("fgets");
      break;
   }
   else 
   {
     printf("%s",line);
   }
    cnt--;
  }
  
  //关闭文件，用完之后记得关闭
  fclose(fp);
  return 0;
}
